package ar.uba.fi.taller2.cmmiassistant.frontend.evaluacion.representacion;

import ar.uba.fi.taller2.cmmiassistant.frontend.PanelVista;
import ar.uba.fi.taller2.cmmiassistant.modelo.evaluacion.Evaluacion;
import ar.uba.fi.taller2.cmmiassistant.modelo.evaluacion.Representacion;
import ar.uba.fi.taller2.cmmiassistant.vista.Vista;

public abstract class MostrandoNivel extends PanelVista {

    private Representacion representacion;

    public MostrandoNivel(Vista contexto) {
        super(contexto);
    }

    public void activar() {

        Evaluacion evaluacion = this.getModelo().getEvaluacionSeleccionada()
                .getValor();

        representacion = evaluacion.getRepresentacion();

        this.setRepresentacion(representacion);

        this.activarSeleccion();
        super.activar();
    }

    protected void setRepresentacion(Representacion representacion) {

        this.representacion = representacion;
    }

    protected Representacion getRepresentacion() {
            
        return this.representacion;
    }

    protected abstract void activarSeleccion();
    
    protected abstract Class<? extends Representacion> getClaseRepresentacion();
}
